package com.vinxin.app.model

import com.fasterxml.jackson.annotation.JsonIgnore


data class SelectorVo(
    val label: String? = null,
    val value: String? = null
)

data class JobhunterVo(
    val jobhunterId: String? = null, // 求职者id
    val jobhunterName: String? = null, // 求职者名字
    val activationDesc: String? = null, // 活跃状态
    val expectId: String,// 期望工作id
    val securityId: String,// 安全id
    val lid: String,//
    val suid: String,//
    val ageDesc: String? = null, // 年龄
    val gender: Int? = null, // 性别
    val workExperience: String? = null, // 工龄
    val degreeDesc: String? = null, // 学历
    val intentionDesc: String? = null, // 求职意向
    val expectJob: ExpectJobVo? = null, // 期望工作
    val degreeSchool: DegreeSchoolVo? = null, // 毕业学校
    val workExperienceList: List<WorkExperienceVo> = emptyList(), // 工作经验
    val selfEvaluation: String? = null, // 自我评价
    val workSkillLabelSet: Set<String> = hashSetOf(), // 工作技能Ï标签
    val projectExperienceList: List<ProjectExperienceVo> = emptyList(), // 项目经验
    var matchCount: Int, // 匹配到关键字的次数
    @JsonIgnore
    var profileString: String, // 所有信息的字符串
    var pageNumber: Int, // 当前分页
)

data class ExpectJobVo(
    val cityDesc: String? = null,
    val positionDesc: String? = null,
    val salaryDesc: String? = null,
)

data class DegreeSchoolVo(
    val startDate: String? = null,
    val endDate: String? = null,
    val schoolName: String? = null,
    val degreeName: String? = null,
)

data class WorkExperienceVo(
    val company: String? = null, // 公司
    val positionDesc: String? = null, // 岗位
    val startDate: String? = null, // 入职时间
    val endDate: String? = null, // 离职时间
    val departmentDesc: String? = null, // 在职部门
    val serviceTime: String? = null, // 在职时长
    val jobDesc: String? = null, // 工作内容
    val workPerformance: String? = null, // 工作表现
    val workEmphasis: String? = null, // 工作表现
    val positionLabelSet: Set<String> = hashSetOf(), // 职能标签
)

data class ProjectExperienceVo(
    val projectName: String? = null,
    val projectContent: String? = null,
    val achieveContent: String? = null,
    val startDate: String? = null,
    val endDate: String? = null,
    val projectRoleDesc: String? = null,
)
